package cn.xscrum.vtsp.mapper;

import cn.xscrum.vtsp.domain.VtspVolunteerActivity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 志愿者关注活动Mapper接口
 * 
 * @author xscrum
 * @date 2021-10-12
 */
public interface VtspVolunteerActivityMapper 
{
    /**
	  * 查询志愿者关注活动
     * 
     * @param volunteerId 志愿者关注活动ID
     * @return 志愿者关注活动
     */
    public VtspVolunteerActivity selectVtspVolunteerActivityById(Long volunteerId);

    /**
	 * 查询志愿者关注活动列表
     * 
     * @param vtspVolunteerActivity 志愿者关注活动
     * @return 志愿者关注活动集合
     */
    public List<VtspVolunteerActivity> selectVtspVolunteerActivityList(VtspVolunteerActivity vtspVolunteerActivity);

    public VtspVolunteerActivity selectVolunteerCollect(@Param("volunteerId") Long volunteerId, @Param("activityId") Long activityId);

    /**
	 * 新增志愿者关注活动
     * 
     * @param vtspVolunteerActivity 志愿者关注活动
     * @return 结果
     */
    public int insertVtspVolunteerActivity(VtspVolunteerActivity vtspVolunteerActivity);

    /**
	  * 修改志愿者关注活动
     * 
     * @param vtspVolunteerActivity 志愿者关注活动
     * @return 结果
     */
    public int updateVtspVolunteerActivity(VtspVolunteerActivity vtspVolunteerActivity);

    /**
	 * 删除志愿者关注活动
     * 
     * @param volunteerId 志愿者关注活动ID
     * @return 结果
     */
    public int deleteVtspVolunteerActivityById(Long volunteerId);

    /**
     * 取消关注
     *
     * @param volunteerId	志愿者id
     * @param activityId	活动id
     * @return
     */
    public int deleteCollectById(@Param("volunteerId") Long volunteerId, @Param("activityId") Long activityId);

    public int deleteVtspVolunteerActivityById2(@Param("volunteerId") Long volunteerId, @Param("activityId") Long activityId);

    /**
	 * 批量删除志愿者关注活动
     * 
     * @param volunteerIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteVtspVolunteerActivityByIds(String[] volunteerIds);

}
